<template>
	<view>
		<view class=""> api</view>
		<button type="default" size="mini" @click="login"> 提交</button>
		<button type="default" size="mini" @click="tesk"> task</button>
		<button type="default" size="mini" @click="down"> 下载</button>
		<button type="default" size="mini" @click="clear"> 删除</button>
		<button type="default" size="mini" @click="up"> 上传</button>
	</view>
</template>

<script>
	export default {
		data() {
			return {

			}
		},
		methods: {
			
			
			async up(){
				const [,{data:token}] = await uni.getStorage({
					key:"token"
				});
				// 挑选图片
				uni.chooseImage({
					// 挑选完毕之后调用success方法,将挑选到的图片,会先放到微信里边,然后再去
					success: (chooseImageRes) => {
						const tempFilePaths = chooseImageRes.tempFilePaths;
						uni.uploadFile({
							url: `http://127.0.0.1:8888/api/private/v1/upload`,
							header:{Authorization:token},
							filePath: tempFilePaths[0],
							// 经过验证必须要有名字,name必须有,叫什么名字无所无
							name: 'file22',
							success: (uploadFileRes) => {
								console.log(uploadFileRes);
							},
							fail: () => {
								console.log('失败了');
							}
						});
					}
				});
			},
			clear() {
				// 删除所有的数据
				uni.clearStorage();
			},
			/*  和小程序不同,可以返回promise,不可以有 success/fail/complete */
			async login() {
				uni.request({
					url: `http://127.0.0.1:8888/api/private/v1/login`,
					method: 'POST',
					data: {
						username: 'admin',
						password: '123456'
					},
					// 用success返回的数据和promise 返回的数据有些差距
					success: res => {
						const {
							data: {
								data,
								meta
							}
						} = res;
						uni.setStorage({
							key: "token",
							data: data.token,
							success: () => {
								console.log('保存成功了')
							}
						})
					}
				});

				// const [,{data:token}] = await uni.getStorage({
				// 	key:"token"
				// })
				// 删除指定的key的值
				// uni.removeStorage({
				// 	key:'id',
				// 	success: () => {
				// 		console.log("id被删除了")
				// 	}
				// })
				// 删除所有的数据,不建议写到一块,删除的快,添加慢,添加的是异步方法
				// uni.clearStorage();
				// console.log(token)
			}
		}
	}
</script>

<style>

</style>
